package band.wukong.practice.springcloud.quickstart.qk02;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

/**
 * http://blog.csdn.net/forezp/article/details/69788938
 *
 * @author wukong(wukonggg@139.com)
 */
@EnableDiscoveryClient // 通过@EnableDiscoveryClient向服务中心注册
@SpringBootApplication
public class Qk02RibbonApplication {

    @Bean   // 向程序的ioc注入一个bean: restTemplate;
    @LoadBalanced   // 通过@LoadBalanced注解表明这个restRemplate开启负载均衡的功能
    RestTemplate restTemplate() {
        return new RestTemplate();
    }

    public static void main(String[] args) {
        SpringApplication.run(Qk02RibbonApplication.class, args);
    }

    // Spring cloud有两种服务调用方式：一种是ribbon+restTemplate，另一种是feign。
    // ribbon是一个负载均衡客户端，可以很好的控制htt和tcp的一些行为。Feign默认集成了ribbon。
}
